/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ingresos;


import Controladores.CicloJpaController;
import Controladores.exceptions.IllegalOrphanException;
import Controladores.exceptions.NonexistentEntityException;
import Entidades.Ciclo;
import Usuarios.conexion;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

/**
 *
 * @author EliteBook
 */

// Erick Valencia
public class ICiclo
{
    public ICiclo()
    {
        
    }
    //ingreso de Ciclo Erick Valencia
    public void guardar(short numeroCiclo)
    {
        Ciclo ciclo = new Ciclo();
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        CicloJpaController controlador = new CicloJpaController(emf);
        ciclo.setAnulado(false);
        ciclo.setNumeroCiclo(numeroCiclo);
        controlador.create(ciclo);
    }
    //Modificacion de Ciclo Erick Valencia
    public void modificar(Ciclo ciclo)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        CicloJpaController controlador = new CicloJpaController(emf);
        try {
            controlador.edit(ciclo);
        } catch (IllegalOrphanException ex) {
            Logger.getLogger(ICiclo.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NonexistentEntityException ex) {
            Logger.getLogger(ICiclo.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(ICiclo.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    // Buscar por Id Erick Valencia
    public Ciclo buscarId(int id)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        CicloJpaController controlador = new CicloJpaController(emf);
        return controlador.findCiclo(id);
  
    }
    //Buscar por numero de ciclo  Erick Valencia
    public List<Ciclo> buscarNombre(short numero)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Ciclo.findByNumeroCiclo");
        qr.setParameter("numero",numero);
        List<Ciclo> lista = qr.getResultList();
        return lista;
    }
    
    public List<Ciclo> mostrarTodo()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        CicloJpaController controlador = new CicloJpaController(emf);
        return controlador.findCicloEntities();
    }
    
    public List<Ciclo> mostrarTodoFalse()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Ciclo.findByAnulado");
        qr.setParameter("anulado", false);
        List<Ciclo> lista = qr.getResultList();
        return lista;
    }
    public List<Ciclo> mostrarTodoTrue()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Ciclo.findByAnulado");
        qr.setParameter("Anulado", true);
        List<Ciclo> lista = qr.getResultList();
        return lista;
    }
    public String toString(int id)
    {
        Ciclo ciclo = this.buscarId(id);
        return ciclo.toString();
    }
}
